package org.example.camundaapp.listener;

import org.camunda.bpm.engine.delegate.DelegateTask;
import org.camunda.bpm.engine.delegate.TaskListener;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * 动态分配审批人
 * @className: ManagerTaskAssignmentListener
 * @author: ZHRJ
 * @date: 2025-07-04 14:44
 * @Version: 1.0
 * @description: 如果审批人需要动态计算（如从数据库查询），可以使用 Task Listener
 *
 * bpmn.xml:
 * <userTask id="Activity_142ngzw" name="经理审批">
 *   <extensionElements>
 *     <camunda:taskListener event="create" class="com.example.ManagerTaskAssignmentListener" />
 *   </extensionElements>
 * </userTask>
 *
 *
 */
@Component
public class ManagerTaskAssignmentListener implements TaskListener {
    @Override
    public void notify(DelegateTask delegateTask) {
        // 从数据库或外部服务获取审批人
        List<String> managers = null;//fetchManagersFromDatabase(); // 连接数据库查询
        delegateTask.setVariable("managerList", managers);
    }
}
